fun = @(x) 1 - hmm(x); % 最小化(1-吸收率)

% 参数边界（t1-t5为厚度，t6为底层厚度，fill为填充因子）
lb = [0.01; 0.01; 0.001; 0.0001; 0.01; 0.1; 0.3];
ub = [0.5; 0.5; 0.5; 0.1; 0.5; 5; 0.8];

% 使用全局优化
options = optimoptions('fmincon', 'Algorithm', 'interior-point', ...
                     'MaxFunctionEvaluations', 10000, ...
                     'Display', 'iter');
[x_opt, fval] = fmincon(fun, (lb+ub)/2, [], [], [], [], lb, ub, [], options);

% 输出结果
fprintf('优化后的厚度: [%f, %f, %f, %f, %f]\n', x_opt);
fprintf('最佳吸收率: %f%%\n', (1 - fval_opt) * 100);